﻿using System;
using System.Collections.Generic;
using System.Text;

namespace RaisingStudio.Data.Entities.MSPetShop4
{
    public partial class _Category : RaisingStudio.Data.Expressions.TableExpression
    {
        #region Constructor (s) / Destructor
        /// <summary>
        /// Constructor (s) / Destructor.
        /// </summary>
        public _Category() : base("Category")
        {
        }
        #endregion
        #region Members
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _CategoryId = "CategoryId";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression CategoryId = _CategoryId;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Name = "Name";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Name = _Name;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Descn = "Descn";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Descn = _Descn;

		#endregion
    }

    partial class Category
    {
        #region Members
        public static readonly _Category _ = new _Category();

        public static RaisingStudio.Data.Expressions.ConditionExpression All
        {
            get
            {
                return new RaisingStudio.Data.Expressions.ConditionExpression();
            }
        }

        public static RaisingStudio.Data.Expressions.ColumnExpression[] Columns
        {
            get
            {
                return new RaisingStudio.Data.Expressions.ColumnExpression[]
                        {
                            _Category._CategoryId,
                            _Category._Name,
                            _Category._Descn,
                        };
            }
        }

        public static RaisingStudio.Data.Expressions.ColumnExpression[] Except(params RaisingStudio.Data.Expressions.ColumnExpression[] columns)
        {
            List<RaisingStudio.Data.Expressions.ColumnExpression> columnList = new List<RaisingStudio.Data.Expressions.ColumnExpression>(Columns);
            if ((columns != null) && (columns.Length > 0))
            {
                foreach (RaisingStudio.Data.Expressions.ColumnExpression column in columns)
                {
                    columnList.Remove(column);
                }
            }
            return columnList.ToArray();
        }
		#endregion
    }
}
